package com.ryder.petmatediarybackend.module.pet.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ryder.petmatediarybackend.module.pet.dto.CreatePetDTO;
import com.ryder.petmatediarybackend.module.pet.entity.PetProfile;

import java.util.List;

/**
 * 描述: 宠物档案表(PetProfile)表服务接口
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0 // 版本号，指明从哪个版本开始
 * 更新日期: 2025-10-30 15:39:46
 */
public interface PetProfileService extends IService<PetProfile> {

    /**
     * 创建宠物档案
     *
     * @param userId 用户ID
     * @param dto 创建宠物DTO
     * @return 宠物档案
     */
    PetProfile createPet(Long userId, CreatePetDTO dto);

    /**
     * 获取用户的宠物列表
     *
     * @param userId 用户ID
     * @return 宠物列表
     */
    List<PetProfile> getPetListByUserId(Long userId);

    /**
     * 获取宠物详情
     *
     * @param userId 用户ID
     * @param petId 宠物ID
     * @return 宠物档案
     */
    PetProfile getPetDetail(Long userId, Long petId);

    /**
     * 更新宠物档案
     *
     * @param userId 用户ID
     * @param petId 宠物ID
     * @param dto 更新数据
     */
    void updatePet(Long userId, Long petId, CreatePetDTO dto);

    /**
     * 删除宠物档案
     *
     * @param userId 用户ID
     * @param petId 宠物ID
     */
    void deletePet(Long userId, Long petId);
}
